package ooday04;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

/**
 * 隐式引用：
 * this:指代当前对象
 * super：指代当前对象的超类对象
 * 外部类名.this:指代当前对象的外部类对象
 */
public class    Mama {
    //内部类的成员变量
    public static void main(String[] args) {
        mama a = new mama();
        //Boy b=new Boy();//编译错误，内部类对外不具备可见性
    }
}

class mama {//外部类
    String name;//mama的成员变量
    void cv() {//mama类中的方法
        Boy b = new Boy();//内部类对象通常在外部类中创建
        b.show();//外部类可以调用内部类的方法
    }

    class Boy {//内部类
        void show() {
            System.out.println(name);//简写
            System.out.println(mama.this.name);//完整写法，mama.this指外部类的成员对象
            //System.out.println(this.name);//编译错误，this指当前boy对象
        }
    }
}

